@时光机
2年前 提问
1个回答

匿名ftp服务的含义是

在下炳尚
2年前

匿名FTP服务指匿名文件传输协议,即用户可以在没有账号的前提下访问ftp服务器来上传和拷贝服务器下的文件,这种模式是因为提供服务的机构在它的FTP服务器上建立一个公开账户ID,并赋予该账户访问公共目录的权限,网络上的任何人在任何地方都可使用该账户ID进行访问。因为这些用户所使用的计算机是作为匿名或客户用户进行连接FTP服务器的所以其安全性很低,目前很多ftp服务器已经抛弃该方式。

FTP服务器支持以下两种传输方式:

  • ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者 压缩文件。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝。

  • 二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送 可执行文件到Windows系统,在对方系统上,此文件不能执行。如在ASCII方式下传输 二进制文件,即使不需要也仍会转译。这会损坏数据。(ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的。)

FTP服务器支持以下两种模式:

  • Port模式:FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。

  • Passive模式:建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。很多 防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。